The present invention relates to digital image processing methods, and more particularly to such methods for detecting skin color in a digital image.
In digital image processing it is often useful to detect the areas in the image that are skin color. This information is used, for example, to adjust the skin colors in the image to be pleasing. The location of skin color is also used in face detection and recognition algorithms, automatic image retrieval algorithms, and red-eye correction algorithms. For instance, U.S. Pat. No. 4,203,671, issued May 20, 1980 to Takahashi et al., discloses a method of detecting skin color in an image by identifying pixels falling into an ellipsoid in red, green, blue color space or within an ellipse in two dimensional color space. The problem with this method is that it works well only when an image is properly balanced. For an over- or under-exposed image, the technique is not reliable. Furthermore, the technique does not work well for those skin colors that deviate from the chosen norm. For example, when the detection method is adjusted to detect light Caucasian skin, it fails to properly detect dark skin.
There is a need therefore for an improved skin color detection method that avoids the problems noted above.
The present invention is directed to overcoming one or more of the problems set forth above. Briefly summarized, according to one aspect of the present invention, a method for detecting skin color in a digital image having pixels in an RGB color space generally includes the steps of performing statistical analysis of the digital color image to determine the mean RGB color values; then, if the mean value of any one of the colors is below a predetermined threshold, applying a transformation to the digital image to move skin colors in the image toward a predetermined region of the color space; and employing the transformed space to locate the skin color pixels in the digital color image.
More specifically, if the mean value of any one of the colors is below a predetermined threshold, a non-linear transformation is applied to the digital image to move skin colors in the image toward a predetermined region of the color space. Then, depending on the preceding step, either the digital image or the transformed digital image is converted from the RGB space to a generalized RGB space to produce a gRGB digital image; skin color pixels are detected within the gRGB digital image; a first skin color image mask is formed based on the detected skin color pixels; a masked gRGB image is generated using the first skin color image mask; the masked gRGB image is converted to a hue image; possible blond hair color pixels are removed from the hue image to produce a modified hue image; a second skin color image mask is formed based on the skin color pixels in the modified hue image; if the second skin color image mask is smaller than the first skin color image mask by a predetermined amount, then the first skin color image mask is selected, otherwise, the second skin color image mask is selected; and finally the selected skin color image mask is employed to locate the skin color pixels in the digital color image.
The advantage of the invention is that it works well even when an image is not properly balanced, and furthermore works well for a variety of skin colors.